The present invention relates generally to computer processing, and more particularly to techniques for providing a high level of user interaction for browser-based applications.
The World Wide Web (commonly known as the Internet) has made it possible for users to access data and software applications stored all over the world from their individual computers. The Internet is a collection of distributed computer networks that interconnect client computers with host computers through a variety of communication means (e.g., wireless and wireless links). Other types of computer network such as local area network (LAN) and wide area network (WAN) are also used to provide interconnectivity among computers.
Through a web browser executing on a client computer, a user is able to easily retrieve information residing on a host computer connected to the client computer via a network. The user initially executes the web browser on the client computer and then specifies a URL link for a desired webpage from the host computer. In response, the webpage is retrieved and downloaded onto the client computer. The webpage typically includes data and URL links to other related webpages.
The browser and computer networks provide an attractive platform upon which a software application designated for widespread use may be implemented. With a browser-based application, a host computer can perform all or the bulk of the data processing, and the client computers can interact with and obtain the required data and processing from the host computer via the browser. Depending on the specific design of the host software application, all that may be required at the client computers is the browser itself to obtain the required data and functionality from the host computer.
Browser-based applications can provide various advantages over other “thick client” applications, which typically require installation of specially designed software on both the host and client computers. These advantages include (1) ease of installation, since the software for browser-based applications is typically only installed on the host computer and not on the client computers, (2) ease of maintenance, since upgrades and other maintenance tasks are performed only on the host computer, (3) high level of connectivity, since any user with a browser and (web) access may be able to interact with the host computer, and other benefits.
Conventionally, browser-based applications can support a limited level of user interaction due in part to the limited capabilities of the browser. Users on client computers can typically download data, execute commands, and perform other functions via keyboard entries and mouse clicks on specifically defined buttons and drop down boxes on webpages. However, as browser-based applications become more complex, a higher level of user interaction is needed. As an example, techniques that allow a user to select and associate data on one part of a webpage with an object located in another part of the webpage (e.g., via a “drag-and-drop” operation) are highly desirable.